ECMAScript标准定义了7种数据类型
6种基本数据类型(除String,占 8 bytes)
Boolean 可以有两个值:true、false
Null 只有一个值:null
Undefined 一个没有被赋值的变量会有个默认值 undefined
Number 基于IEEE 754标准的双精度 64 位二进制格式的值
没有为整数给出一种特定的类型,除了能够表示浮点数外,还有一些带符号的值:
+Infinity,-Infinity 和 NaN (非数值,Not-a-Number)
要检查值是否大于或小于 +/-Infinity,可以使用常量 Number.MAX_VALUE 和 Number.MIN_VALUE
另外在 ECMAScript 6 中,也可以通过 Number.isSafeInteger() 方法还有 Number.MAX_SAFE_INTEGER 和 Number.MIN_SAFE_INTEGER 来检查值是否在双精度浮点数的取值范围内
String
Symbol (ECMAScript6新定义) 可以用来作为Object的key的值,也可以认为它是C里面的枚举类型
1种复杂数据类型(引用类型)
Object 基础对象
Array Date RegExp String Number Boolean Math Arguments(函数参数集合) Error(异常对象) Function(函数构造器) (null)(不完全算对象)
typeof 返回类型小写(number string boolean undefined object function)
typeof返回值为string类型,引用类型中,除function的对象都是object类型
String Number Date 首字母大写的都是构造函数
两个空的类型
null
undefined
null是一个表示"无"的对象,转为数值时为0;undefined是一个表示"无"的原始值,转为数值时为NaN
null表示"没有对象",即该处不应该有值
undefined表示"缺少值",就是此处应该有一个值,但是还没有定义
(1)值类型:数值、布尔值、null、undefined
(2)引用类型:对象、数组、函数